// 导入axios请求库
import axios from 'axios'

// 封装Promise实例 
export function request(config) { 
    // 1.创建axios实例
    const instance = axios.create({
        // 1.1定义统一的请求地址
        baseURL: 'http://127.0.0.1:8888/api/private/v1/',
        // 1.2定义统一的请求超时设置
        timeout: 5000
    })

    // 2.1添加请求拦截器
    instance.interceptors.request.use(function (config) {
        // 在发送请求之前做些什么
        // console.log(config);
        return config
    }, function (error) {
        // 对请求错误做些什么
        return Promise.reject(error);
    });
    // 2.2添加响应拦截器
    instance.interceptors.response.use(function (response) {
        // 对响应数据做点什么
        // console.log(response);
        return response;
    }, function (error) {
        // 对响应错误做点什么
        return Promise.reject(error);
    });

    // 3 发送真正的网络请求
    // 由于instance实例本身返回的就是promise实例 
    // 再调用的时 也就可以使用.then() 拿到成功的 .catch() 返回值失败的返回值
    return instance(config)
}
